
// 封装一下 axios 
// 全局组装 
// 统一的接口规范   
import axios from 'axios'
import { Toast } from 'vant'
import router from '../router'
import store from '../store/index'

// export const baseURL = 'http://221.234.43.195/'  // 接口的基路径  Node 服务器

export const baseURL = process.env.VUE_APP_BASE_URL  // 接口的基路径  Node 服务器 
// export const baseURL = eval(process.env.VUE_APP_BASE_URL)  // 接口的基路径  Node 服务器 
export const sourceURL = eval(process.env.VUE_APP_SOURCE_URL)   // 不知道那来的 引号
console.log(baseURL,sourceURL)
const request = axios.create({
    baseURL: baseURL,  // 接口的基路
    timeout: 60000,  // 超时   
    headers: {  // 请求头

    }
});



// 拦截器 Interceptors
// 请求的拦截器  
request.interceptors.request.use(function (config) {
    // 请求发送之前 
    // 调起一个Loading 
    // 或者添加一些请求头数据信息 
    // var token = sessionStorage.getItem("pc_token")
    // if(token){
    //     config.headers.token = token;   // 通过请求头把token 发送给服务器 
    // }
    Toast.loading({
        message: '加载中...',
        forbidClick: true,
    });

    return config;
}, function (error) {
    // 请求发送失败 
    Toast.fail('请求失败');
    return Promise.reject(error);
});

// 响应的拦截器 
request.interceptors.response.use(function (response) {
    // 响应成功  
    // 一般来说手机端是不会出现成功的提示   
    Toast.clear()

    // 201 没有登录授权openid
    if (response.data.code == '201') {
        Toast.show({
            content: response.msg ,
        })
        router.replace({name:'index'})
    }else if(response.data.code == '105'){
        Toast.show({
            content: '您的请求次数过多哟！' ,
        })
    }else if(response.data.code == '202'){
        // 重新登录
        store.commit('changeRegShow',true)
    }
   


    // 响应成功 提示
    // console.log(response.data)
    // code = 200 成功
    // 判断有问题 
    if (response.data.code == 200) {
        
        // 成功
        // ShowSuccess(response.data.msg)
    } else {
        // code !=200 失败
        if (response.data.code == 3001) {
            // 懒加载  导致bug   

            // history.replace("/login") 
            // window.location.reload()   
            Toast.show({
                content: response.data.msg + ' 请登录',
            })
        }
        // 失败
       
    }
    
    return response;
}, function (error) {
    // 响应失败 无法响应 
    Toast.fail('响应失败');
    return Promise.reject(error);
});

// request = axios
// 增删改查
export const Get = (url, params, headers) => {
    return new Promise((resolve, reject) => {
        request({
            url,
            method: "GET",
            params,
            headers,
        }).then(res => {
            resolve(res.data)   // 把axios 的 data 的返回 
        }).catch(err => {
            reject(err)
        })
    })
}


export const Post = (url, data, params, headers) => {
    return new Promise((resolve, reject) => {
        request({
            url,
            method: "POST",
            data,
            params,
            headers,
        }).then(res => {
            resolve(res.data)   // 把axios 的 data 的返回 
        }).catch(err => {
            reject(err)
        })
    })
}


export default request